<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>其他类型的Promise封装</title>
</head>
<body>
    <script>
        new Promise((resolve,reject) => {
            resolve("成功");
        }).then(
            value => {
                // 一、返回一个then方法
                // return{
                //     then(resolve,reject){
                //         setTimeout(() => {
                //             reject("错误");
                //         },2000);
                //     }
                // } 

                // 二、返回类中的方法
                // class Hd{
                //     then(resolve,reject){
                //         setTimeout(() => {
                //             reject("失败");
                //         },2000);
                //     }
                // }
                // return new Hd();

                // 三、返回一个静态方法
                return class{
                    static then(resolve,reject){
                        setTimeout(() => {
                            reject("error");
                        },2000);
                    }
                }
            }
        ).then(
            null,
            reason => {
                console.log(reason);
            }
        )
    </script>
</body>
</html>